package net.qiqbframework.eventhandling;


import net.qiqbframework.messaging.Message;

import java.time.Instant;
import java.util.Collection;


public interface EventMessage<T> extends Message<T> {


    @Override
    String getIdentifier();


    Instant getTimestamp();

    /**
     * 支持的处理handler<br/>
     * <p>
     * handle://applicationName/handlerName?applicationId=XX?message=domainEvent
     *
     * @return
     */
    Collection<String> supportHandlerUrl();


    /**
     * 是否探子。探子仅仅是为了找到对应的 eventHandler ，并不实际执行
     *
     * @return
     */
    boolean isScout();

}
